package uba.ing2.subite.domain;

import java.io.Serializable;

/**
 * Interfaz que deben cumplir las tarjetas de pago.
 */
public interface PaymentCard extends Visitable<PaymentCardVisitor>{
	/**
	 * Identificador de la tarjeta.
	 */
	Serializable identifier();
	
	/**
	 * Dinero disponible en la tarjeta.
	 */
	Number moneyAvailable();
	
	/**
	 * Permite actualizar el valor del dinero disponible en la tarjeta.
	 * 
	 * @param moneyAvailable nuevo valor para el dinero disponible en la tarjeta.
	 */
	void updateMoneyAvailable(Number moneyAvailable);
}
